slovodefinícia
occurs check
(foldoc)
occurs check

A feature of some implementations of
unification which causes unification of a logic variable V
and a structure S to fail if S contains V.

Binding a variable to a structure containing that variable
results in a cyclic structure which may subsequently cause
unification to loop forever. Some implementations use extra
pointer comparisons to avoid this.

Most implementations of Prolog do not perform the occurs
check for reasons of efficiency. Without occurs check the
complexity of unification is

O(min(size(term1), size(term2)))

with occurs check it's

O(max(size(term1), size(term2)))

In theorem proving unification without the occurs check can
lead to unsound inference. For example, in Prolog it is
quite valid to write

X = f(X).

which will succeed, binding X to a cyclic structure. Clearly
however, if f is taken to stand for a function rather than a
constructor, then the above equality is only valid if f is
the identity function.

Weijland calls unification without occur check, "complete
unification". The reference below describes a complete
unification algorithm in terms of Colmerauer's consistency
algorithm.

["Semantics for Logic Programs without Occur Check",
W.P. Weijland, Theoretical Computer Science 71 (1990) pp
155-174].

(1996-01-11)
podobné slovodefinícia

Nenašli ste slovo čo ste hľadali ? Doplňte ho do slovníka.

na vytvorenie tejto webstránky bol pužitý dictd server s dátami z sk-spell.sk.cx a z iných voľne dostupných dictd databáz. Ak máte klienta na dictd protokol (napríklad kdict), použite zdroj slovnik.iz.sk a port 2628.

online slovník, sk-spell - slovníkové dáta, IZ Bratislava, Malé Karpaty - turistika, Michal Páleník, správy, údaje o okresoch V4